package com.itheima.d3_calendar;

import java.util.Calendar;
import java.util.Date;

//目标：掌握Calendar日类的常用方法
public class Demo01 {
    public static void main(String[] args) {
        /**
         * static Calendar getInstance()：获取当前日历对象
         * int get(int field)：获取日历中的某个信息
         * Date getTime()：获取日期对象
         * long getTimeInMillis()：获取时间毫秒值
         * void set(int field,int value)：修改日历的某个信息
         * void add(int field,int amount)：为某个信息增加/减少指定的值
         */

        //1.获取系统此时的日历对象
        //尝试new一个Calendar对象，代码报错，她是抽象类！
        //new Calendar();
        Calendar cal = Calendar.getInstance();
        //获取的日历对象所具备的时间信息就是系统此刻时间
//        System.out.println(cal);

        //2.获取系统此时日历对象的年、月、日、时、分、秒
        int year = cal.get(Calendar.YEAR);
        System.out.println("年：" + year);
        int month = cal.get(Calendar.MONTH);
        //Calendar的月份是从0开始，所以0代表1月，1代表2月，以此类推
        System.out.println("月：" + (month + 1));
        int day = cal.get(Calendar.DAY_OF_MONTH);
        System.out.println("日：" + day);
        int hour = cal.get(Calendar.HOUR);
        System.out.println("时：" + hour);
        int minute = cal.get(Calendar.MINUTE);
        System.out.println("分：" + minute);
        int second = cal.get(Calendar.SECOND);
        System.out.println("秒：" + second);

        //3.获取日历对象对应的Date对象
        Date date = cal.getTime();
        System.out.println("Date时间日期：" + date);

        //4.获取日历对象的时间毫秒值
        long time = cal.getTimeInMillis();
        System.out.println("时间日期的毫秒值：" + time);
        System.out.println("--------------------");

        //5.修改日历对象所代表的时间为：2020年05月20日 13点14分21秒
        cal.set(Calendar.YEAR, 2020);
        year = cal.get(Calendar.YEAR);
        System.out.println("年：" + year);

        cal.set(Calendar.MONTH, 4);
        month = cal.get(Calendar.MONTH);
        System.out.println("月：" + (month + 1));

        cal.set(Calendar.DAY_OF_MONTH, 20);
        day = cal.get(Calendar.DAY_OF_MONTH);
        System.out.println("日：" + day);
        //剩下的一样！交给大家去完成！
        System.out.println("--------------------");

        //6.在上一步日历对象的时间基础上，增加3年、减少2年
        //增加3年
        cal.add(Calendar.YEAR, 3);
        year = cal.get(Calendar.YEAR);
        System.out.println("年：" + year);

        //减少2年
        cal.add(Calendar.YEAR, -2);
        year = cal.get(Calendar.YEAR);
        System.out.println("年：" + year);

    }

}
